Safe Specification Of Operator Precedence Rules
Identifieur interne : 000681 ( Main/Exploration ); précédent : 000680; suivant : 000682Safe Specification Of Operator Precedence Rules
Auteurs : A. Afroozeh ; M. G. J. Van Den Brand ; A. Johnstone [Royaume-Uni] ; E. Scott ; Jurgen Vinju [Pays-Bas]Source :
Abstract
In this paper we present an approach to specifying opera- tor precedence based on declarative disambiguation constructs and an implementation mechanism based on grammar rewriting. We identify a problem with existing generalized context-free parsing and disambigua- tion technology: generating a correct parser for a language such as OCaml using declarative precedence specification is not possible without resorting to some manual grammar transformation. Our approach provides a fully declarative solution to operator precedence specification for context-free grammars, is independent of any parsing technology, and is safe in that it guarantees that the language of the resulting grammar will be the same as the language of the specification grammar. We evaluate our new approach by specifying the precedence rules from the OCaml reference manual against the highly ambiguous reference grammar and validate the output of our generated parser.
Url:
Affiliations:
Links toward previous steps (curation, corpus...)
- to stream Hal, to step Corpus: 000228
- to stream Hal, to step Curation: 000228
- to stream Hal, to step Checkpoint: 000180
- to stream Main, to step Merge: 000677
- to stream Main, to step Curation: 000681
Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">Safe Specification Of Operator Precedence Rules</title>
<author><name sortKey="Afroozeh, A" sort="Afroozeh, A" uniqKey="Afroozeh A" first="A." last="Afroozeh">A. Afroozeh</name>
</author>
<author><name sortKey="Van Den Brand, M G J" sort="Van Den Brand, M G J" uniqKey="Van Den Brand M" first="M. G. J." last="Van Den Brand">M. G. J. Van Den Brand</name>
</author>
<author><name sortKey="Johnstone, A" sort="Johnstone, A" uniqKey="Johnstone A" first="A." last="Johnstone">A. Johnstone</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-25023" status="VALID"><orgName>Royal Holloway [Surrey]</orgName>
<desc><address><addrLine>University of London Egham Hill EGHAM TW20 0EX</addrLine>
<country key="GB"></country>
</address>
<ref type="url">http://www.rhul.ac.uk/home.aspx</ref>
</desc>
<listRelation><relation active="#struct-303063" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-303063" type="direct"><org type="institution" xml:id="struct-303063" status="VALID"><orgName>Queen Mary University of London [London]</orgName>
<desc><address><addrLine>Mile End RoadLondonE1 4NS</addrLine>
<country key="GB"></country>
</address>
<ref type="url">http://www.maths.qmul.ac.uk/</ref>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Royaume-Uni</country>
</affiliation>
</author>
<author><name sortKey="Scott, E" sort="Scott, E" uniqKey="Scott E" first="E." last="Scott">E. Scott</name>
</author>
<author><name sortKey="Vinju, Jurgen" sort="Vinju, Jurgen" uniqKey="Vinju J" first="Jurgen" last="Vinju">Jurgen Vinju</name>
<affiliation wicri:level="1"><hal:affiliation type="researchteam" xml:id="struct-111222" status="VALID"><orgName>Analysis and Transformation based on rEliAble tool coMpositionS</orgName>
<orgName type="acronym">ATEAMS</orgName>
<desc><address><addrLine>Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, Netherlands</addrLine>
<country key="NL"></country>
</address>
<ref type="url">http://www.inria.fr/equipes/ateams</ref>
</desc>
<listRelation><relation active="#struct-104752" type="direct"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-152470" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-104752" type="direct"><org type="laboratory" xml:id="struct-104752" status="VALID"><orgName>INRIA Lille - Nord Europe</orgName>
<desc><address><addrLine>Parc Scientifique de la Haute Borne 40, avenue Halley Bât.A, Park Plaza 59650 Villeneuve d'Ascq</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/lille/</ref>
</desc>
<listRelation><relation active="#struct-300009" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-152470" type="direct"><org type="institution" xml:id="struct-152470" status="VALID"><orgName>Centrum Wiskunde & Informatica</orgName>
<orgName type="acronym">CWI</orgName>
<desc><address><addrLine>Science Park 123, 1098 XG Amsterdam</addrLine>
<country key="NL"></country>
</address>
<ref type="url">http://www.cwi.nl/</ref>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Pays-Bas</country>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">HAL</idno>
<idno type="RBID">Hal:hal-00923391</idno>
<idno type="halId">hal-00923391</idno>
<idno type="halUri">https://hal.inria.fr/hal-00923391</idno>
<idno type="url">https://hal.inria.fr/hal-00923391</idno>
<date when="2013">2013</date>
<idno type="wicri:Area/Hal/Corpus">000228</idno>
<idno type="wicri:Area/Hal/Curation">000228</idno>
<idno type="wicri:Area/Hal/Checkpoint">000180</idno>
<idno type="wicri:Area/Main/Merge">000677</idno>
<idno type="wicri:Area/Main/Curation">000681</idno>
<idno type="wicri:Area/Main/Exploration">000681</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en">Safe Specification Of Operator Precedence Rules</title>
<author><name sortKey="Afroozeh, A" sort="Afroozeh, A" uniqKey="Afroozeh A" first="A." last="Afroozeh">A. Afroozeh</name>
</author>
<author><name sortKey="Van Den Brand, M G J" sort="Van Den Brand, M G J" uniqKey="Van Den Brand M" first="M. G. J." last="Van Den Brand">M. G. J. Van Den Brand</name>
</author>
<author><name sortKey="Johnstone, A" sort="Johnstone, A" uniqKey="Johnstone A" first="A." last="Johnstone">A. Johnstone</name>
<affiliation wicri:level="1"><hal:affiliation type="laboratory" xml:id="struct-25023" status="VALID"><orgName>Royal Holloway [Surrey]</orgName>
<desc><address><addrLine>University of London Egham Hill EGHAM TW20 0EX</addrLine>
<country key="GB"></country>
</address>
<ref type="url">http://www.rhul.ac.uk/home.aspx</ref>
</desc>
<listRelation><relation active="#struct-303063" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-303063" type="direct"><org type="institution" xml:id="struct-303063" status="VALID"><orgName>Queen Mary University of London [London]</orgName>
<desc><address><addrLine>Mile End RoadLondonE1 4NS</addrLine>
<country key="GB"></country>
</address>
<ref type="url">http://www.maths.qmul.ac.uk/</ref>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Royaume-Uni</country>
</affiliation>
</author>
<author><name sortKey="Scott, E" sort="Scott, E" uniqKey="Scott E" first="E." last="Scott">E. Scott</name>
</author>
<author><name sortKey="Vinju, Jurgen" sort="Vinju, Jurgen" uniqKey="Vinju J" first="Jurgen" last="Vinju">Jurgen Vinju</name>
<affiliation wicri:level="1"><hal:affiliation type="researchteam" xml:id="struct-111222" status="VALID"><orgName>Analysis and Transformation based on rEliAble tool coMpositionS</orgName>
<orgName type="acronym">ATEAMS</orgName>
<desc><address><addrLine>Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, Netherlands</addrLine>
<country key="NL"></country>
</address>
<ref type="url">http://www.inria.fr/equipes/ateams</ref>
</desc>
<listRelation><relation active="#struct-104752" type="direct"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-152470" type="direct"></relation>
</listRelation>
<tutelles><tutelle active="#struct-104752" type="direct"><org type="laboratory" xml:id="struct-104752" status="VALID"><orgName>INRIA Lille - Nord Europe</orgName>
<desc><address><addrLine>Parc Scientifique de la Haute Borne 40, avenue Halley Bât.A, Park Plaza 59650 Villeneuve d'Ascq</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/lille/</ref>
</desc>
<listRelation><relation active="#struct-300009" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-152470" type="direct"><org type="institution" xml:id="struct-152470" status="VALID"><orgName>Centrum Wiskunde & Informatica</orgName>
<orgName type="acronym">CWI</orgName>
<desc><address><addrLine>Science Park 123, 1098 XG Amsterdam</addrLine>
<country key="NL"></country>
</address>
<ref type="url">http://www.cwi.nl/</ref>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
<country>Pays-Bas</country>
</affiliation>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">In this paper we present an approach to specifying opera- tor precedence based on declarative disambiguation constructs and an implementation mechanism based on grammar rewriting. We identify a problem with existing generalized context-free parsing and disambigua- tion technology: generating a correct parser for a language such as OCaml using declarative precedence specification is not possible without resorting to some manual grammar transformation. Our approach provides a fully declarative solution to operator precedence specification for context-free grammars, is independent of any parsing technology, and is safe in that it guarantees that the language of the resulting grammar will be the same as the language of the specification grammar. We evaluate our new approach by specifying the precedence rules from the OCaml reference manual against the highly ambiguous reference grammar and validate the output of our generated parser.</div>
</front>
</TEI>
<affiliations><list><country><li>Pays-Bas</li>
<li>Royaume-Uni</li>
</country>
</list>
<tree><noCountry><name sortKey="Afroozeh, A" sort="Afroozeh, A" uniqKey="Afroozeh A" first="A." last="Afroozeh">A. Afroozeh</name>
<name sortKey="Scott, E" sort="Scott, E" uniqKey="Scott E" first="E." last="Scott">E. Scott</name>
<name sortKey="Van Den Brand, M G J" sort="Van Den Brand, M G J" uniqKey="Van Den Brand M" first="M. G. J." last="Van Den Brand">M. G. J. Van Den Brand</name>
</noCountry>
<country name="Royaume-Uni"><noRegion><name sortKey="Johnstone, A" sort="Johnstone, A" uniqKey="Johnstone A" first="A." last="Johnstone">A. Johnstone</name>
</noRegion>
</country>
<country name="Pays-Bas"><noRegion><name sortKey="Vinju, Jurgen" sort="Vinju, Jurgen" uniqKey="Vinju J" first="Jurgen" last="Vinju">Jurgen Vinju</name>
</noRegion>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Musique/explor/OperaV1/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000681 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 000681 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Musique |area= OperaV1 |flux= Main |étape= Exploration |type= RBID |clé= Hal:hal-00923391 |texte= Safe Specification Of Operator Precedence Rules }}
This area was generated with Dilib version V0.6.21. |